#example7_4_df_tosql_sqlite.py
#coding=utf-8
import pandas as pd
from sqlalchemy import create_engine

# 在当前目录的dbtest子目录下创建MyDB.sqlite3数据库(数据库后缀名没有限制)
# dbtest子目录要提前创建
engine = create_engine('sqlite:///dbtest/MyDB.sqlite3')

df = pd.DataFrame({'name' : ['Alan', 'Jack', 'Beker'], "age" : [40,70,10]}, 
                  index = (2,3,1))

# 将df对象存入persons表中，name指定表名
# if_exists="replace"表示如果表已经存在，则先删除原来的表
df.to_sql(name='persons', con=engine, if_exists="replace") 

# 显示表的结构信息
showStructSQL='select * from sqlite_master where type="table" and name="persons"'
print(engine.execute(showStructSQL).fetchall())

# 显示表中所以记录信息
for x in engine.execute("SELECT * FROM persons").fetchall():
    print(x)

#关闭数据库连接
engine.dispose()
    